<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MTB CAT1 Peripheral driver library: Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">MTB CAT1 Peripheral driver library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__group__cryptolite__lld__sha__functions.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Functions<div class="ingroups"><a class="el" href="group__group__cryptolite.html">Cryptolite   (Cryptography)</a> &raquo; <a class="el" href="group__group__cryptolite__lld__sha.html">Hash operations (SHA)</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gae83be318927b255f70c0ab1e3f1af1ec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__sha__functions.html#gae83be318927b255f70c0ab1e3f1af1ec">Cy_Cryptolite_Sha256_Init</a> (CRYPTOLITE_Type *base, <a class="el" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> *cfContext)</td></tr>
<tr class="memdesc:gae83be318927b255f70c0ab1e3f1af1ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function to initialize the SHA256 operation.  <a href="#gae83be318927b255f70c0ab1e3f1af1ec">More...</a><br /></td></tr>
<tr class="separator:gae83be318927b255f70c0ab1e3f1af1ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga579de23a52612ca00d5c0e499f6e9b9a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__sha__functions.html#ga579de23a52612ca00d5c0e499f6e9b9a">Cy_Cryptolite_Sha256_Start</a> (CRYPTOLITE_Type *base, <a class="el" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> *cfContext)</td></tr>
<tr class="memdesc:ga579de23a52612ca00d5c0e499f6e9b9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the initial Hash vector.  <a href="#ga579de23a52612ca00d5c0e499f6e9b9a">More...</a><br /></td></tr>
<tr class="separator:ga579de23a52612ca00d5c0e499f6e9b9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga27bd7bb768df3fd2158fe87823d418ad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__sha__functions.html#ga27bd7bb768df3fd2158fe87823d418ad">Cy_Cryptolite_Sha256_Update</a> (CRYPTOLITE_Type *base, uint8_t const *message, uint32_t messageSize, <a class="el" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> *cfContext)</td></tr>
<tr class="memdesc:ga27bd7bb768df3fd2158fe87823d418ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs the SHA256 calculation on one message.  <a href="#ga27bd7bb768df3fd2158fe87823d418ad">More...</a><br /></td></tr>
<tr class="separator:ga27bd7bb768df3fd2158fe87823d418ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b4d703444dc04d7f9a2a587c01823a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__sha__functions.html#ga1b4d703444dc04d7f9a2a587c01823a1">Cy_Cryptolite_Sha256_Finish</a> (CRYPTOLITE_Type *base, uint8_t *digest, <a class="el" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> *cfContext)</td></tr>
<tr class="memdesc:ga1b4d703444dc04d7f9a2a587c01823a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Completes the SHA256 calculation.  <a href="#ga1b4d703444dc04d7f9a2a587c01823a1">More...</a><br /></td></tr>
<tr class="separator:ga1b4d703444dc04d7f9a2a587c01823a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaceba9ef4e789adc133d56aec40b57c6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__sha__functions.html#gaaceba9ef4e789adc133d56aec40b57c6">Cy_Cryptolite_Sha256_Free</a> (CRYPTOLITE_Type *base, <a class="el" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> *cfContext)</td></tr>
<tr class="memdesc:gaaceba9ef4e789adc133d56aec40b57c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the used memory and context data.  <a href="#gaaceba9ef4e789adc133d56aec40b57c6">More...</a><br /></td></tr>
<tr class="separator:gaaceba9ef4e789adc133d56aec40b57c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf75a1097e529cb20c9ef8d04f5ccb083"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__sha__functions.html#gaf75a1097e529cb20c9ef8d04f5ccb083">Cy_Cryptolite_Sha256_Run</a> (CRYPTOLITE_Type *base, uint8_t const *message, uint32_t messageSize, uint8_t *digest, <a class="el" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> *cfContext)</td></tr>
<tr class="memdesc:gaf75a1097e529cb20c9ef8d04f5ccb083"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs the SHA256 Hash function.  <a href="#gaf75a1097e529cb20c9ef8d04f5ccb083">More...</a><br /></td></tr>
<tr class="separator:gaf75a1097e529cb20c9ef8d04f5ccb083"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="gae83be318927b255f70c0ab1e3f1af1ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae83be318927b255f70c0ab1e3f1af1ec">&#9670;&nbsp;</a></span>Cy_Cryptolite_Sha256_Init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Sha256_Init </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> *&#160;</td>
          <td class="paramname"><em>cfContext</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The function to initialize the SHA256 operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the Cryptolite instance.</td></tr>
    <tr><td class="paramname">cfContext</td><td>The pointer to the <a class="el" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> structure that stores all internal variables for Cryptolite driver.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Message is: */</span></div><div class="line">    uint8_t msg0[] = {</div><div class="line">        0x5a,0x86,0xb7,0x37,0xea,0xea,0x8e,0xe9,0x76,0xa0,0xa2,0x4d,0xa6,0x3e,0x7e,</div><div class="line">        0xd7,0xee,0xfa,0xd1,0x8a,0x10,0x1c,0x12,0x11,0xe2,0xb3,0x65,0x0c,0x51,0x87,</div><div class="line">        0xc2,0xa8,0xa6,0x50,0x54,0x72,0x08,0x25,0x1f,0x6d,0x42,0x37,0xe6,0x61,0xc7,</div><div class="line">        0xbf,0x4c,0x77,0xf3,0x35,0x39,0x03,0x94,0xc3,0x7f,0xa1,0xa9,0xf9,0xbe,0x83,</div><div class="line">        0x6a,0xc2,0x85,0x09,0x47,0x99,0x13,0x01,0x15,0x6d,0x1d,0x97,0x7c,0x03,0x38,</div><div class="line">        0xef,0xbc,0xad,0x41,0x00,0x41,0x33,0xae,0xfb,0xca,0x6b,0xcf,0x7e};</div><div class="line"></div><div class="line">    <span class="comment">/* Calculated SHA-256 digest */</span></div><div class="line">    uint8_t sha256Digest[<a class="code" href="group__group__cryptolite__macros.html#ga6d749f027df6aba958cdd1ec0cd4794b">CY_CRYPTOLITE_SHA256_HASH_SIZE</a>] = {0};</div><div class="line"></div><div class="line">    <a class="code" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> status;</div><div class="line">    <a class="code" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> crp_cxt;</div><div class="line"></div><div class="line">    <span class="comment">/* Hash the message by SHA256 */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#gae83be318927b255f70c0ab1e3f1af1ec">Cy_Cryptolite_Sha256_Init</a>(CRYPTOLITE, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga579de23a52612ca00d5c0e499f6e9b9a">Cy_Cryptolite_Sha256_Start</a>( CRYPTOLITE, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga27bd7bb768df3fd2158fe87823d418ad">Cy_Cryptolite_Sha256_Update</a>( CRYPTOLITE, &amp;msg0[0], 64, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga27bd7bb768df3fd2158fe87823d418ad">Cy_Cryptolite_Sha256_Update</a>(CRYPTOLITE, &amp;msg0[64], 24, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga1b4d703444dc04d7f9a2a587c01823a1">Cy_Cryptolite_Sha256_Finish</a>(CRYPTOLITE, sha256Digest, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#gaaceba9ef4e789adc133d56aec40b57c6">Cy_Cryptolite_Sha256_Free</a>(CRYPTOLITE, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga579de23a52612ca00d5c0e499f6e9b9a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga579de23a52612ca00d5c0e499f6e9b9a">&#9670;&nbsp;</a></span>Cy_Cryptolite_Sha256_Start()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Sha256_Start </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> *&#160;</td>
          <td class="paramname"><em>cfContext</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes the initial Hash vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">cfContext</td><td>The pointer to the <a class="el" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> structure that stores all internal variables for Cryptolite driver.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Message is: */</span></div><div class="line">    uint8_t msg0[] = {</div><div class="line">        0x5a,0x86,0xb7,0x37,0xea,0xea,0x8e,0xe9,0x76,0xa0,0xa2,0x4d,0xa6,0x3e,0x7e,</div><div class="line">        0xd7,0xee,0xfa,0xd1,0x8a,0x10,0x1c,0x12,0x11,0xe2,0xb3,0x65,0x0c,0x51,0x87,</div><div class="line">        0xc2,0xa8,0xa6,0x50,0x54,0x72,0x08,0x25,0x1f,0x6d,0x42,0x37,0xe6,0x61,0xc7,</div><div class="line">        0xbf,0x4c,0x77,0xf3,0x35,0x39,0x03,0x94,0xc3,0x7f,0xa1,0xa9,0xf9,0xbe,0x83,</div><div class="line">        0x6a,0xc2,0x85,0x09,0x47,0x99,0x13,0x01,0x15,0x6d,0x1d,0x97,0x7c,0x03,0x38,</div><div class="line">        0xef,0xbc,0xad,0x41,0x00,0x41,0x33,0xae,0xfb,0xca,0x6b,0xcf,0x7e};</div><div class="line"></div><div class="line">    <span class="comment">/* Calculated SHA-256 digest */</span></div><div class="line">    uint8_t sha256Digest[<a class="code" href="group__group__cryptolite__macros.html#ga6d749f027df6aba958cdd1ec0cd4794b">CY_CRYPTOLITE_SHA256_HASH_SIZE</a>] = {0};</div><div class="line"></div><div class="line">    <a class="code" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> status;</div><div class="line">    <a class="code" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> crp_cxt;</div><div class="line"></div><div class="line">    <span class="comment">/* Hash the message by SHA256 */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#gae83be318927b255f70c0ab1e3f1af1ec">Cy_Cryptolite_Sha256_Init</a>(CRYPTOLITE, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga579de23a52612ca00d5c0e499f6e9b9a">Cy_Cryptolite_Sha256_Start</a>( CRYPTOLITE, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga27bd7bb768df3fd2158fe87823d418ad">Cy_Cryptolite_Sha256_Update</a>( CRYPTOLITE, &amp;msg0[0], 64, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga27bd7bb768df3fd2158fe87823d418ad">Cy_Cryptolite_Sha256_Update</a>(CRYPTOLITE, &amp;msg0[64], 24, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga1b4d703444dc04d7f9a2a587c01823a1">Cy_Cryptolite_Sha256_Finish</a>(CRYPTOLITE, sha256Digest, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#gaaceba9ef4e789adc133d56aec40b57c6">Cy_Cryptolite_Sha256_Free</a>(CRYPTOLITE, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga27bd7bb768df3fd2158fe87823d418ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga27bd7bb768df3fd2158fe87823d418ad">&#9670;&nbsp;</a></span>Cy_Cryptolite_Sha256_Update()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Sha256_Update </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>message</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>messageSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> *&#160;</td>
          <td class="paramname"><em>cfContext</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs the SHA256 calculation on one message. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">message</td><td>The address pointer to the message whose Hash is being computed.</td></tr>
    <tr><td class="paramname">messageSize</td><td>The size of the message whose Hash is being computed.</td></tr>
    <tr><td class="paramname">cfContext</td><td>The pointer to the <a class="el" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> structure that stores all internal variables for Cryptolite driver.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Message is: */</span></div><div class="line">    uint8_t msg0[] = {</div><div class="line">        0x5a,0x86,0xb7,0x37,0xea,0xea,0x8e,0xe9,0x76,0xa0,0xa2,0x4d,0xa6,0x3e,0x7e,</div><div class="line">        0xd7,0xee,0xfa,0xd1,0x8a,0x10,0x1c,0x12,0x11,0xe2,0xb3,0x65,0x0c,0x51,0x87,</div><div class="line">        0xc2,0xa8,0xa6,0x50,0x54,0x72,0x08,0x25,0x1f,0x6d,0x42,0x37,0xe6,0x61,0xc7,</div><div class="line">        0xbf,0x4c,0x77,0xf3,0x35,0x39,0x03,0x94,0xc3,0x7f,0xa1,0xa9,0xf9,0xbe,0x83,</div><div class="line">        0x6a,0xc2,0x85,0x09,0x47,0x99,0x13,0x01,0x15,0x6d,0x1d,0x97,0x7c,0x03,0x38,</div><div class="line">        0xef,0xbc,0xad,0x41,0x00,0x41,0x33,0xae,0xfb,0xca,0x6b,0xcf,0x7e};</div><div class="line"></div><div class="line">    <span class="comment">/* Calculated SHA-256 digest */</span></div><div class="line">    uint8_t sha256Digest[<a class="code" href="group__group__cryptolite__macros.html#ga6d749f027df6aba958cdd1ec0cd4794b">CY_CRYPTOLITE_SHA256_HASH_SIZE</a>] = {0};</div><div class="line"></div><div class="line">    <a class="code" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> status;</div><div class="line">    <a class="code" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> crp_cxt;</div><div class="line"></div><div class="line">    <span class="comment">/* Hash the message by SHA256 */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#gae83be318927b255f70c0ab1e3f1af1ec">Cy_Cryptolite_Sha256_Init</a>(CRYPTOLITE, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga579de23a52612ca00d5c0e499f6e9b9a">Cy_Cryptolite_Sha256_Start</a>( CRYPTOLITE, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga27bd7bb768df3fd2158fe87823d418ad">Cy_Cryptolite_Sha256_Update</a>( CRYPTOLITE, &amp;msg0[0], 64, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga27bd7bb768df3fd2158fe87823d418ad">Cy_Cryptolite_Sha256_Update</a>(CRYPTOLITE, &amp;msg0[64], 24, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga1b4d703444dc04d7f9a2a587c01823a1">Cy_Cryptolite_Sha256_Finish</a>(CRYPTOLITE, sha256Digest, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#gaaceba9ef4e789adc133d56aec40b57c6">Cy_Cryptolite_Sha256_Free</a>(CRYPTOLITE, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div></div><!-- fragment --> </dd></dl>
<dl class="section note"><dt>Note</dt><dd>There is no alignment or size restriction for message buffer, However providing a four byte aligned buffer with size in multiple of <a class="el" href="group__group__cryptolite__macros.html#ga3e619d10f23972bfadebe5be18137f05">CY_CRYPTOLITE_SHA256_BLOCK_SIZE</a>, will result in best execution time. </dd></dl>

</div>
</div>
<a id="ga1b4d703444dc04d7f9a2a587c01823a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1b4d703444dc04d7f9a2a587c01823a1">&#9670;&nbsp;</a></span>Cy_Cryptolite_Sha256_Finish()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Sha256_Finish </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>digest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> *&#160;</td>
          <td class="paramname"><em>cfContext</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Completes the SHA256 calculation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">digest</td><td>The address pointer to the calculated Hash digest.</td></tr>
    <tr><td class="paramname">cfContext</td><td>The pointer to the <a class="el" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> structure that stores all internal variables for Cryptolite driver.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Message is: */</span></div><div class="line">    uint8_t msg0[] = {</div><div class="line">        0x5a,0x86,0xb7,0x37,0xea,0xea,0x8e,0xe9,0x76,0xa0,0xa2,0x4d,0xa6,0x3e,0x7e,</div><div class="line">        0xd7,0xee,0xfa,0xd1,0x8a,0x10,0x1c,0x12,0x11,0xe2,0xb3,0x65,0x0c,0x51,0x87,</div><div class="line">        0xc2,0xa8,0xa6,0x50,0x54,0x72,0x08,0x25,0x1f,0x6d,0x42,0x37,0xe6,0x61,0xc7,</div><div class="line">        0xbf,0x4c,0x77,0xf3,0x35,0x39,0x03,0x94,0xc3,0x7f,0xa1,0xa9,0xf9,0xbe,0x83,</div><div class="line">        0x6a,0xc2,0x85,0x09,0x47,0x99,0x13,0x01,0x15,0x6d,0x1d,0x97,0x7c,0x03,0x38,</div><div class="line">        0xef,0xbc,0xad,0x41,0x00,0x41,0x33,0xae,0xfb,0xca,0x6b,0xcf,0x7e};</div><div class="line"></div><div class="line">    <span class="comment">/* Calculated SHA-256 digest */</span></div><div class="line">    uint8_t sha256Digest[<a class="code" href="group__group__cryptolite__macros.html#ga6d749f027df6aba958cdd1ec0cd4794b">CY_CRYPTOLITE_SHA256_HASH_SIZE</a>] = {0};</div><div class="line"></div><div class="line">    <a class="code" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> status;</div><div class="line">    <a class="code" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> crp_cxt;</div><div class="line"></div><div class="line">    <span class="comment">/* Hash the message by SHA256 */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#gae83be318927b255f70c0ab1e3f1af1ec">Cy_Cryptolite_Sha256_Init</a>(CRYPTOLITE, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga579de23a52612ca00d5c0e499f6e9b9a">Cy_Cryptolite_Sha256_Start</a>( CRYPTOLITE, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga27bd7bb768df3fd2158fe87823d418ad">Cy_Cryptolite_Sha256_Update</a>( CRYPTOLITE, &amp;msg0[0], 64, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga27bd7bb768df3fd2158fe87823d418ad">Cy_Cryptolite_Sha256_Update</a>(CRYPTOLITE, &amp;msg0[64], 24, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga1b4d703444dc04d7f9a2a587c01823a1">Cy_Cryptolite_Sha256_Finish</a>(CRYPTOLITE, sha256Digest, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#gaaceba9ef4e789adc133d56aec40b57c6">Cy_Cryptolite_Sha256_Free</a>(CRYPTOLITE, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="gaaceba9ef4e789adc133d56aec40b57c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaaceba9ef4e789adc133d56aec40b57c6">&#9670;&nbsp;</a></span>Cy_Cryptolite_Sha256_Free()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Sha256_Free </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> *&#160;</td>
          <td class="paramname"><em>cfContext</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clears the used memory and context data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">cfContext</td><td>The pointer to the <a class="el" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> structure that stores all internal variables for Cryptolite driver.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Message is: */</span></div><div class="line">    uint8_t msg0[] = {</div><div class="line">        0x5a,0x86,0xb7,0x37,0xea,0xea,0x8e,0xe9,0x76,0xa0,0xa2,0x4d,0xa6,0x3e,0x7e,</div><div class="line">        0xd7,0xee,0xfa,0xd1,0x8a,0x10,0x1c,0x12,0x11,0xe2,0xb3,0x65,0x0c,0x51,0x87,</div><div class="line">        0xc2,0xa8,0xa6,0x50,0x54,0x72,0x08,0x25,0x1f,0x6d,0x42,0x37,0xe6,0x61,0xc7,</div><div class="line">        0xbf,0x4c,0x77,0xf3,0x35,0x39,0x03,0x94,0xc3,0x7f,0xa1,0xa9,0xf9,0xbe,0x83,</div><div class="line">        0x6a,0xc2,0x85,0x09,0x47,0x99,0x13,0x01,0x15,0x6d,0x1d,0x97,0x7c,0x03,0x38,</div><div class="line">        0xef,0xbc,0xad,0x41,0x00,0x41,0x33,0xae,0xfb,0xca,0x6b,0xcf,0x7e};</div><div class="line"></div><div class="line">    <span class="comment">/* Calculated SHA-256 digest */</span></div><div class="line">    uint8_t sha256Digest[<a class="code" href="group__group__cryptolite__macros.html#ga6d749f027df6aba958cdd1ec0cd4794b">CY_CRYPTOLITE_SHA256_HASH_SIZE</a>] = {0};</div><div class="line"></div><div class="line">    <a class="code" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> status;</div><div class="line">    <a class="code" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> crp_cxt;</div><div class="line"></div><div class="line">    <span class="comment">/* Hash the message by SHA256 */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#gae83be318927b255f70c0ab1e3f1af1ec">Cy_Cryptolite_Sha256_Init</a>(CRYPTOLITE, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga579de23a52612ca00d5c0e499f6e9b9a">Cy_Cryptolite_Sha256_Start</a>( CRYPTOLITE, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga27bd7bb768df3fd2158fe87823d418ad">Cy_Cryptolite_Sha256_Update</a>( CRYPTOLITE, &amp;msg0[0], 64, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga27bd7bb768df3fd2158fe87823d418ad">Cy_Cryptolite_Sha256_Update</a>(CRYPTOLITE, &amp;msg0[64], 24, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#ga1b4d703444dc04d7f9a2a587c01823a1">Cy_Cryptolite_Sha256_Finish</a>(CRYPTOLITE, sha256Digest, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#gaaceba9ef4e789adc133d56aec40b57c6">Cy_Cryptolite_Sha256_Free</a>(CRYPTOLITE, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="gaf75a1097e529cb20c9ef8d04f5ccb083"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf75a1097e529cb20c9ef8d04f5ccb083">&#9670;&nbsp;</a></span>Cy_Cryptolite_Sha256_Run()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Sha256_Run </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>message</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>messageSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>digest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> *&#160;</td>
          <td class="paramname"><em>cfContext</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs the SHA256 Hash function. </p>
<p>Provide the required parameters and the pointer to the context structure when making this function call. It is independent of the previous Crypto state because it already contains preparation, calculation, and finalization steps.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">message</td><td>The address pointer to a message whose hash value is being computed.</td></tr>
    <tr><td class="paramname">messageSize</td><td>The size of a message in bytes.</td></tr>
    <tr><td class="paramname">digest</td><td>The address pointer to the hash digest.</td></tr>
    <tr><td class="paramname">cfContext</td><td>The pointer to the <a class="el" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> structure that stores all internal variables for Cryptolite driver.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Message is: &quot;abc&quot; */</span></div><div class="line">    uint8_t msg0[] = {<span class="stringliteral">&quot;abc&quot;</span>};</div><div class="line"></div><div class="line">    <span class="comment">/* Calculated SHA-256 digest */</span></div><div class="line">    uint8_t sha256Digest[<a class="code" href="group__group__cryptolite__macros.html#ga6d749f027df6aba958cdd1ec0cd4794b">CY_CRYPTOLITE_SHA256_HASH_SIZE</a>] = {0};</div><div class="line"></div><div class="line">    <a class="code" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> status;</div><div class="line">    <a class="code" href="structcy__stc__cryptolite__context__sha256__t.html">cy_stc_cryptolite_context_sha256_t</a> crp_cxt;</div><div class="line"></div><div class="line">    <span class="comment">/* Hash the message by SHA256 */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__sha__functions.html#gaf75a1097e529cb20c9ef8d04f5ccb083">Cy_Cryptolite_Sha256_Run</a>(CRYPTOLITE, msg0, <span class="keyword">sizeof</span>(msg0)-1u, sha256Digest, &amp;crp_cxt);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div></div><!-- fragment --> </dd></dl>
<dl class="section note"><dt>Note</dt><dd>There is no alignment or size restriction for message buffer, However providing a four byte aligned buffer with size in multiple of <a class="el" href="group__group__cryptolite__macros.html#ga3e619d10f23972bfadebe5be18137f05">CY_CRYPTOLITE_SHA256_BLOCK_SIZE</a>, will result in best execution time. </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>MTB CAT1 Peripheral driver library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
-->
</body>
</html>
